草庐IT

Python GTK+ 部件名称

全部标签

c++ - 如何在 C++ 项目中包含具有相似名称的头文件

我在我的C++程序中使用了一个外部库。这个库有一个名为“Common.h”的文件。在不知道这个文件的情况下,我还在我的程序中创建了一个“Common.h”。在header中使用编译器标志“#pragmaonce”我可以确保这两个文件都可以包含在编译中。但是,我意识到当我在程序中调用“Common.h”时,预处理器错误地包含了外部库中的“Common.h”,这会破坏编译。有没有像“命名空间”这样的选项可以让我包含正确的文件。我发现这真的很难,因为我们可能不知道(实际上不需要)外部库中的所有文件。 最佳答案 通常程序有几个所谓的包含路径

c++ - 用于查找相似的连续类型名称的模板元程序

我是模板元编程的新手,正在尝试创建一个程序来查找参数包是否具有连续的相同类型名称。例如,将返回true和和不会。我设法编写了这段代码,但它似乎在将参数包的每个值与其自身进行比较。我只是在寻找一种方法来遍历参数包的值以与其连续元素进行比较。templatestructsameTypename{enum{value=false};};templatestructsameTypename{enum{value=true};};templatestructconsTypename{enum{value=(sameTypename,consTypename>::value)};};templat

c++ - 在 C++ 中,类型名称的 typeid 总是在编译时求值吗?

我想检查当与类型名称(即typeid(int)、typeid(std::string)...)一起使用时,typeid在编译时被评估。为此,我在一个循环中重复了两个typeid调用的比较,并在启用优化的情况下对其进行了编译,以查看编译器是否简化了循环(通过查看执行时间,当它简化时为1us160毫秒,当它没有时)。而且我得到了奇怪的结果,因为有时编译器会简化代码,有时却不会。我使用g++(我尝试了不同的4.x版本),程序如下:#include#include#includeclassDisplayData{};classRobotDisplay:publicDisplayData{};c

c++ - 在qt中动态添加小部件

我在将小部件添加到QMainWindow时遇到了一个小问题。当我这样做时:wsk_mainStatki=newmainStatki(this);wsk_mainStatki->setGeometry(0,0,400,300);this->layout()->addWidget(wsk_mainStatki);没关系,但我收到警告:QMainWindowLayout::addItem:PleaseusethepublicQMainWindowAPIinstead这是我的游戏类#include"game.h"game::game(){setGeometry(200,200,400,300)

c++ - C++ 中的编译器版本、名称和操作系统检测

我需要使用C++检测操作系统名称、编译器名称和编译器版本,因为我需要针对每种情况更改设置。我该怎么做? 最佳答案 对于大多数编译器,您可以找到预定义宏的列表。VShttp://msdn.microsoft.com/en-us/library/b0084kay%28v=vs.80%29.aspx海湾合作委员会http://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html 关于c++-C++中的编译器版本、名称和操作系统检测,我

c++ - typename 关键字和嵌套名称说明符

structA{};templatestructB{typename::Aa1;//(1)typenameAa2;//(2):error};intmain(){return0;}为什么第一种情况正确,而第二种情况不正确?我不明白那个限制的意思。无论如何,为什么允许第一种情况?::A不是依赖于模板参数的名称。什么意思? 最佳答案 如果类型嵌套在从属范围内,则规则不是您只能使用typename。这些规则或多或少是:如果它在从属范围内,则必须使用typename您只能在语法允许的地方使用typename。语法允许它用于qualified-

c++ - 如何使用导出相同函数名称的 2 个 C 库

这个问题在这里已经有了答案:关闭13年前。重复以下问题:Cfunctionconflict你好,在我当前的项目中,我必须使用某种接口(interface)库。函数名由这个接口(interface)给出,这个函数做什么是开发者选择的。据我所知,一个项目应该使用这个函数,当涉及到编译时,你选择lib和它的功能。我尝试做的是通过包装另一个并在我的函数中调用它来同时使用现有的库和我的库:其他库:intfunction1(inta){//dosomething}我的库:intfunction1(inta){//mycodehereotherlib::function1(a);}问题是我无权访问其

c++ - Qt:在子部件上使用 QPainter

我遇到了一个简单的QWidget程序的Qt/C++问题,该程序在子QWidget中绘制了一个椭圆。程序组成:(1)父QWidget(2)子QWidget(用作椭圆的绘图表面)(3)绘制QPushButton这里是部分代码(QPushButtonSlot和Signal代码为简单起见省略)voidDraw::paintEvent(QPaintEvent*event){QPainterpainter;painter.begin(child_Widget);//Thelinewiththeproblempainter.setRenderHint(QPainter::Antialiasing,t

c++ - 使用包含函数名称的字符串调用函数

我有一个类定义为classmodify_field{public:std::stringmodify(std::stringstr){returnstr;}};有什么方法可以将此函数名称存储在main函数的字符串中,然后调用它。我试过了,但没用。intmain(){modify_fieldmf;std::stringstr,str1,str2;str=fetch_function_name();//fetch_function_name()returnsstringmodifystr2="check";cout我知道这是错误的。但我只想知道是否有任何方法可以使用变量调用函数名。

c++ - 使用工厂模式按名称实例化类

假设我有一个类列表A、B、C、...,它们都继承自Base。我从用户那里得到类名作为字符串,我想实例化正确的类并返回一个指向Base的指针。您将如何实现?我想到了使用以类名作为键的哈希表,以及指向实例化正确类并返回Base*的函数的函数指针。但是,我想我可以在这里使用工厂模式并使它变得容易得多,但我不太记得它,所以我想征求建议。 最佳答案 这是一个通用的factoryexample实现:templatestructFactory{typedefKeyTKey;typedefstd::auto_ptrType;typedefType(